#include <54func.h>
int main(int argc,char *argv[])
{
    // ./8_to_upper.c file   将一个文件中的小写字母修改为大写(read和write实现)
   ARGS_CHECK(argc,2);
   int fd = open(argv[1],O_RDWR);
   ERROR_CHECK(fd,-1,"open");


   char ch;//用一个字符去接收读取的结果
   while(1)
   {
       //memset(ch,0,sizeof(ch));//读取文件之前一定要先清空
       //读取文件
       ssize_t sret = read(fd,&ch,sizeof(ch));
       if(sret == 0){//返回值为0，说明已经读取到文件的末尾了！！！
            break;
       }
       if(ch>='a' && ch<='z'){
           ch -= 32;
           lseek(fd,-1,SEEK_CUR);//改变读写偏移量，防止read/write读取的文件流会自动偏移，使其向左偏移一个位置回来
           write(fd,&ch,1);//读了多少就写多少,一个字节一个字节!!!
       }
   }
   printf("%c\n",ch);

    close(fd);
    return 0;
}
